import request from '@/utils/request'

/**
 * 登录方法
 * @param {Object} data {
 *    usename, password
 * }
 * @returns
 */
export function login(data) {
  return request({
    url: '/auth/login',
    headers: {
      isToken: false,
      repeatSubmit: false
    },
    method: 'post',
    data
  })
}

/**
 * 手机号登录
 * @param {Object} data {
 *    phone, smsCode
 * }
 * @returns
 */
export function mobileLogin(data) {
  return request({
    url: '/auth/mobileLogin',
    headers: {
      isToken: false,
      repeatSubmit: false
    },
    method: 'post',
    data
  })
}

// 重置密码
export function resetPwd(data) {
  return request({
    url: '/auth/resetPassword',
    headers: {
      isToken: false
    },
    method: 'post',
    data: data
  })
}
// 注册方法
export function register(data) {
  return request({
    url: '/auth/register',
    headers: {
      isToken: false
    },
    method: 'post',
    data: data
  })
}

// 刷新方法
export function refreshToken() {
  return request({
    url: '/auth/refresh',
    method: 'post'
  })
}

// 获取用户详细信息
export function getInfo() {
  return request({
    url: '/system/user/getInfo',
    method: 'get'
  })
}

// 退出方法
export function logout() {
  return request({
    url: '/auth/logout',
    method: 'delete'
  })
}

// 获取验证码
export function getCodeImg() {
  return request({
    url: '/code',
    headers: {
      isToken: false
    },
    method: 'get',
    timeout: 20000
  })
}

// 获取短信
export function sendSmsCode(phone) {
  return request({
    url: '/auth/sendSms',
    headers: {
      isToken: false,
      repeatSubmit: false
    },
    method: 'post',
    params: { phone }
  })
}

/**
 * @description 手机号找回密码
 * @param {Object} data : { phone, smsCode, password, rePassword }
 * @returns
 */
export function resetPassword(data) {
  return request({
    url: '/auth/sendSms',
    headers: {
      isToken: false,
      repeatSubmit: false
    },
    method: 'post',
    data
  })
}
